/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Principal.java
 *
 * Created on 13-ene-2013, 17:38:26
 */
package sisvoto.vista;

import java.awt.Toolkit;
import java.util.ArrayList;
import java.util.Date;
import javax.swing.JMenu;
import sisvoto.DAO.ConsultasBD;
import sisvoto.ModeloDAO.SesionLoginDAO;
import sisvoto.Utiles.Mensajes;
import sisvoto.modelo.EleccionActual;
import sisvoto.modelo.Elector;
import sisvoto.modelo.JornadaElectoral;
import sisvoto.modelo.SesionLogin;

/**
 *
 * @author Dianita
 */
public class Principal extends javax.swing.JFrame {

    static SesionLogin sesion;

    /** Creates new form Principal */
    public Principal(SesionLogin s) {
        this.sesion = s;
        initComponents();
        pantalla();

    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        imagePanel1 = new com.mycsistemas.swingec.panel.ImagePanel();
        curvesPanel1 = new com.mycsistemas.swingec.panel.CurvesPanel();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu8 = new javax.swing.JMenu();
        jMenuItem15 = new javax.swing.JMenuItem();
        jMenuItem2 = new javax.swing.JMenuItem();
        menuinstitucion = new javax.swing.JMenu();
        jMenuItem12 = new javax.swing.JMenuItem();
        jMenuItem14 = new javax.swing.JMenuItem();
        jMenu3 = new javax.swing.JMenu();
        jMenuItem5 = new javax.swing.JMenuItem();
        jMenuItem11 = new javax.swing.JMenuItem();
        menupart = new javax.swing.JMenu();
        jMenuItem6 = new javax.swing.JMenuItem();
        jMenuItem4 = new javax.swing.JMenuItem();
        menuelec = new javax.swing.JMenu();
        jMenu2 = new javax.swing.JMenu();
        jMenuItem3 = new javax.swing.JMenuItem();
        jMenuItem10 = new javax.swing.JMenuItem();
        jMenuItem8 = new javax.swing.JMenuItem();
        jMenuItem16 = new javax.swing.JMenuItem();
        jMenuItem9 = new javax.swing.JMenuItem();
        menuusu = new javax.swing.JMenu();
        jMenu7 = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMenuItem13 = new javax.swing.JMenuItem();
        menuconf = new javax.swing.JMenu();
        jMenuItem7 = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
        setTitle("Sistema de Elecciones Estudiantiles");
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        setResizable(false);

        imagePanel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/Fondos de escritorio 1440x900 (10).jpg"))); // NOI18N

        curvesPanel1.setLayout(null);

        javax.swing.GroupLayout imagePanel1Layout = new javax.swing.GroupLayout(imagePanel1);
        imagePanel1.setLayout(imagePanel1Layout);
        imagePanel1Layout.setHorizontalGroup(
            imagePanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(curvesPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 753, Short.MAX_VALUE)
        );
        imagePanel1Layout.setVerticalGroup(
            imagePanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(curvesPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 381, Short.MAX_VALUE)
        );

        jMenu8.setText("Archivo");

        jMenuItem15.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/left_32.png"))); // NOI18N
        jMenuItem15.setText("Cerrar Sesión");
        jMenuItem15.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem15ActionPerformed(evt);
            }
        });
        jMenu8.add(jMenuItem15);

        jMenuItem2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/delete_32.png"))); // NOI18N
        jMenuItem2.setText("Salir");
        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem2ActionPerformed(evt);
            }
        });
        jMenu8.add(jMenuItem2);

        jMenuBar1.add(jMenu8);

        menuinstitucion.setText("Institución");

        jMenuItem12.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/clipboard_32.png"))); // NOI18N
        jMenuItem12.setText("Administrar Institución");
        jMenuItem12.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem12ActionPerformed(evt);
            }
        });
        menuinstitucion.add(jMenuItem12);

        jMenuItem14.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/shield_32.png"))); // NOI18N
        jMenuItem14.setText("Años de Eduación");
        jMenuItem14.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem14ActionPerformed(evt);
            }
        });
        menuinstitucion.add(jMenuItem14);

        jMenuBar1.add(menuinstitucion);

        jMenu3.setText("Elector");

        jMenuItem5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/user_32.png"))); // NOI18N
        jMenuItem5.setText("Administrar Electores");
        jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem5ActionPerformed(evt);
            }
        });
        jMenu3.add(jMenuItem5);

        jMenuItem11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/search_32.png"))); // NOI18N
        jMenuItem11.setText("Lista de Electores");
        jMenuItem11.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem11ActionPerformed(evt);
            }
        });
        jMenu3.add(jMenuItem11);

        jMenuBar1.add(jMenu3);

        menupart.setText("Partido Electoral");

        jMenuItem6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/flag_32.png"))); // NOI18N
        jMenuItem6.setText("Administrar Partido Electoral");
        jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem6ActionPerformed(evt);
            }
        });
        menupart.add(jMenuItem6);

        jMenuItem4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/shield_32.png"))); // NOI18N
        jMenuItem4.setText("Administrar Dignidad");
        jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem4ActionPerformed(evt);
            }
        });
        menupart.add(jMenuItem4);

        jMenuBar1.add(menupart);

        menuelec.setText("Elecciones");

        jMenu2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/DrawingPin1_Blue.png"))); // NOI18N
        jMenu2.setText("Configuraciones de Elección");

        jMenuItem3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/cuadros1.png"))); // NOI18N
        jMenuItem3.setText("Gestionar Elecciones");
        jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem3ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem3);

        jMenuItem10.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/visto.png"))); // NOI18N
        jMenuItem10.setText("Elección Actual");
        jMenuItem10.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem10ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem10);

        jMenuItem8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/search_32.png"))); // NOI18N
        jMenuItem8.setText("Buscar Elecciones");
        jMenuItem8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem8ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem8);

        menuelec.add(jMenu2);

        jMenuItem16.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/Excel.png"))); // NOI18N
        jMenuItem16.setText("Resultados");
        jMenuItem16.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem16ActionPerformed(evt);
            }
        });
        menuelec.add(jMenuItem16);

        jMenuItem9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/clipboard_32.png"))); // NOI18N
        jMenuItem9.setText("Ejercer Voto");
        jMenuItem9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem9ActionPerformed(evt);
            }
        });
        menuelec.add(jMenuItem9);

        jMenuBar1.add(menuelec);

        menuusu.setText("Usuario");

        jMenu7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/User1.png"))); // NOI18N
        jMenu7.setText("Gestión de Usuarios");

        jMenuItem1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/document_32.png"))); // NOI18N
        jMenuItem1.setText("Usuario");
        jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem1ActionPerformed(evt);
            }
        });
        jMenu7.add(jMenuItem1);

        jMenuItem13.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/Excel.png"))); // NOI18N
        jMenuItem13.setText("Privilegios");
        jMenuItem13.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem13ActionPerformed(evt);
            }
        });
        jMenu7.add(jMenuItem13);

        menuusu.add(jMenu7);

        jMenuBar1.add(menuusu);

        menuconf.setText("Configuraciones");

        jMenuItem7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sisvoto/Recursos/cuadros1.png"))); // NOI18N
        jMenuItem7.setText("Configuración de Dispositivo");
        jMenuItem7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem7ActionPerformed(evt);
            }
        });
        menuconf.add(jMenuItem7);

        jMenuBar1.add(menuconf);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(imagePanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(imagePanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
// TODO add your handling code here:
    AdministrarUsuario au = new AdministrarUsuario(this, true);
    au.setLocationRelativeTo(this);
    au.setVisible(true);
}//GEN-LAST:event_jMenuItem1ActionPerformed

private void jMenuItem13ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem13ActionPerformed
// TODO add your handling code here:
    AdministrarPrivilegio ap = new AdministrarPrivilegio(this, true);
    ap.setLocationRelativeTo(this);
    ap.setVisible(true);
}//GEN-LAST:event_jMenuItem13ActionPerformed

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
// TODO add your handling code here:
    cerrarSesion(this.sesion);
}//GEN-LAST:event_jMenuItem2ActionPerformed

private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed
// TODO add your handling code here:
    AdministrarElector ae = new AdministrarElector(this, true);
    ae.setLocationRelativeTo(this);
    ae.setVisible(true);
}//GEN-LAST:event_jMenuItem5ActionPerformed

private void jMenuItem14ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem14ActionPerformed
// TODO add your handling code here:
    AdministrarParalelos ap = new AdministrarParalelos(this, true);
    ap.setLocationRelativeTo(this);
    ap.setVisible(true);
}//GEN-LAST:event_jMenuItem14ActionPerformed

private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed
// TODO add your handling code here:
    AdministrarDignidad ad = new AdministrarDignidad(this, true);
    ad.setLocationRelativeTo(this);
    ad.setVisible(true);
}//GEN-LAST:event_jMenuItem4ActionPerformed

private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem6ActionPerformed
// TODO add your handling code here:
    AdministrarPartidoElectoral ap = new AdministrarPartidoElectoral(this, true);
    ap.setLocationRelativeTo(this);
    ap.setVisible(true);
}//GEN-LAST:event_jMenuItem6ActionPerformed

private void jMenuItem11ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem11ActionPerformed
// TODO add your handling code here:
    BuscarElector be = new BuscarElector(this, true);
    be.setLocationRelativeTo(this);
    be.setVisible(true);
}//GEN-LAST:event_jMenuItem11ActionPerformed

private void jMenuItem12ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem12ActionPerformed
// TODO add your handling code here:
    Istitucion ins = new Istitucion(this, true);
    ins.setLocationRelativeTo(this);
    ins.setVisible(true);
}//GEN-LAST:event_jMenuItem12ActionPerformed

private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed
// TODO add your handling code here:
    AdministrarElecciones ae = new AdministrarElecciones(this, true);
    ae.setLocationRelativeTo(this);
    ae.setVisible(true);
}//GEN-LAST:event_jMenuItem3ActionPerformed

private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem7ActionPerformed
// TODO add your handling code here:
    Configuracionfinger c = new Configuracionfinger(this, true);
    c.setLocationRelativeTo(this);
    c.setVisible(true);
}//GEN-LAST:event_jMenuItem7ActionPerformed

private void jMenuItem8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem8ActionPerformed
// TODO add your handling code here:
    BuscarElecciones be = new BuscarElecciones(this, true);
    be.setLocationRelativeTo(this);
    be.setVisible(true);
}//GEN-LAST:event_jMenuItem8ActionPerformed

private void jMenuItem10ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem10ActionPerformed
// TODO add your handling code here:
    EjecutarEleccionActual ejec = new EjecutarEleccionActual(this, true);
    ejec.setLocationRelativeTo(this);
    ejec.setVisible(true);
}//GEN-LAST:event_jMenuItem10ActionPerformed

private void jMenuItem15ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem15ActionPerformed
// TODO add your handling code here:
    sesion.setSesion("INACTIVO");
    sesion.setFechaSalida(new Date());
    SesionLoginDAO sdao = new SesionLoginDAO(sesion);
    try {
        sdao.update();
    } catch (Exception ex) {       
    }
    this.dispose();
    IngresoSistema i = new IngresoSistema(this, true);
    i.setLocationRelativeTo(this);
    i.setVisible(true);
}//GEN-LAST:event_jMenuItem15ActionPerformed

private void jMenuItem9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem9ActionPerformed
// TODO add your handling code here:
        ArrayList<EleccionActual> eleccionesactuales = (ArrayList<EleccionActual>) new ConsultasBD().buscarPOR("EleccionActual", "estado", "'INICIADO'");
    if (eleccionesactuales.isEmpty()) {
        new Mensajes().StandarWarning(this, "Las Elecciones Aún No Han Iniciado");
        return;
    } else {
        EleccionActual eleccionactual = eleccionesactuales.get(0);
        ArrayList<JornadaElectoral> jornadas = new ArrayList<>();
        jornadas = (ArrayList<JornadaElectoral>) new ConsultasBD().validarIntervaloFecha("JornadaElectoral", "FechaInicio", "FechaFin", new Date(), "'" + eleccionactual.getEleccion().getId() + "'");
        int periodo = jornadas.size();
        if (periodo != 0 && periodo != -1) {
            AutenticacionElector au = new AutenticacionElector(null, true, eleccionactual);
            au.setLocationRelativeTo(this);
            au.setVisible(true);
        } else {
            new Mensajes().StandarWarning(this, "         No es Posible Ejercer el Voto Debido a las \n Configuraciones de Fecha de la Jornada Electoral \n      >>CONSULTE CON EL ADMINISTRADOR<< ");
        }
    }
}//GEN-LAST:event_jMenuItem9ActionPerformed

private void jMenuItem16ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem16ActionPerformed
// TODO add your handling code here:
    Result res = new Result(null);
    res.setLocationRelativeTo(this);
    res.setVisible(true);
}//GEN-LAST:event_jMenuItem16ActionPerformed

    /**
     * @param args the command line arguments
     */
   

    public void cerrarSesion(SesionLogin sesion) {
        if (new Mensajes().ConfirmacionDialogowarning(this, "Está Seguro de Salir") == 0) {
            sesion.setSesion("INACTIVO");
            sesion.setFechaSalida(new Date());
            SesionLoginDAO sdao = new SesionLoginDAO(sesion);
            try {
                sdao.update();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            System.exit(0);
        }
    }

    public JMenu getMenuconf() {
        return menuconf;
    }

    public void setMenuconf(JMenu menuconf) {
        this.menuconf = menuconf;
    }

    public JMenu getMenuelec() {
        return menuelec;
    }

    public void setMenuelec(JMenu menuelec) {
        this.menuelec = menuelec;
    }

    public JMenu getMenuinstitucion() {
        return menuinstitucion;
    }

    public void setMenuinstitucion(JMenu menuinstitucion) {
        this.menuinstitucion = menuinstitucion;
    }

    public JMenu getMenupart() {
        return menupart;
    }

    public void setMenupart(JMenu menupart) {
        this.menupart = menupart;
    }

    public JMenu getMenuusu() {
        return menuusu;
    }

    public void setMenuusu(JMenu menuusu) {
        this.menuusu = menuusu;
    }
    
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private com.mycsistemas.swingec.panel.CurvesPanel curvesPanel1;
    private com.mycsistemas.swingec.panel.ImagePanel imagePanel1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenu jMenu3;
    private javax.swing.JMenu jMenu7;
    private javax.swing.JMenu jMenu8;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem10;
    private javax.swing.JMenuItem jMenuItem11;
    private javax.swing.JMenuItem jMenuItem12;
    private javax.swing.JMenuItem jMenuItem13;
    private javax.swing.JMenuItem jMenuItem14;
    private javax.swing.JMenuItem jMenuItem15;
    private javax.swing.JMenuItem jMenuItem16;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenuItem jMenuItem3;
    private javax.swing.JMenuItem jMenuItem4;
    private javax.swing.JMenuItem jMenuItem5;
    private javax.swing.JMenuItem jMenuItem6;
    private javax.swing.JMenuItem jMenuItem7;
    private javax.swing.JMenuItem jMenuItem8;
    private javax.swing.JMenuItem jMenuItem9;
    private javax.swing.JMenu menuconf;
    private javax.swing.JMenu menuelec;
    private javax.swing.JMenu menuinstitucion;
    private javax.swing.JMenu menupart;
    private javax.swing.JMenu menuusu;
    // End of variables declaration//GEN-END:variables

    private void pantalla() {
        int ancho = Toolkit.getDefaultToolkit().getScreenSize().width;
        int alto = (Toolkit.getDefaultToolkit().getScreenSize().height);
        this.setSize(ancho, alto);
    }
}
